【微信小程序】实现图片拖动、放大、缩小、旋转、滤镜和切图功能 | 您所在的位置:网站首页 › ckeditor4 canvas缩放图片 › 【微信小程序】实现图片拖动、放大、缩小、旋转、滤镜和切图功能 |
文件index.js存放所有功能的逻辑代码,相对比较复杂,下面分开来分析几个重点方法: 1)方法uploadImg+setDropItem:获取上传图片的信息,跟设置的最大宽高进行判断(maxWidth, maxHeight),然后根据判断的结果进行缩放,避免大图溢出,且设置图片的地址、坐标、定位和是否选中等信息;用于后面功能使用,支持多图使用; 2)方法WraptouchStart+WraptouchMove:获取图片移动坐标和触发时坐标的差值,加上图片本来的坐标来实现移动效果,注意要把移动坐标赋值给触发时坐标(items[index].lx = e.touches[0].clientX),不然会导致移动有问题; 3)方法oTouchStart+oTouchMove:获取拖动后图片的半径跟触发时图片的半径的比值,再使用scale来实现缩放功能(items[index].disPtoO / items[index].r);获取触发时的图片角度+拖动后图片的角度,再使用rotate来实现旋转功能(items[index].angle = items[index].rotate); 4)方法imgEffects:调用滤镜方法util.imgFliters(详细可到https://jingyan.baidu.com/article/ed15cb1b9fd9bb1be3698183.html查看),根据设置的滤镜值,进行不同的滤镜处理;而调用形状方法util.imgShapes,根据设置的形状值,进行不同的切图效果; 5)方法synthesis:用来把所有图片的最终效果合成一个画布,用于保存图片到本地使用; 6)方法saveImg:把画布保存到本地相册。 |
CopyRight 2018-2019 实验室设备网 版权所有 |